public class Demo4 {

    public static Boolean isRunning=true;
    public static void main(String[] args){
        Thread t = new Thread(()->{
            //这里是t线程的条件
            while (isRunning){//内部类访问外部类的成员
                System.out.println("thread");
                try{
                    Thread.sleep(1000);
                }catch (InterruptedException e){
                    e.printStackTrace();
                }
            }
            System.out.println("t线程结束!");
        });
        //t的内部条件在执行时,外部的代码也在一起运行
        t.start();

        try {
            Thread.sleep(3000);//-->过了3s之后 线程修改?
        }catch (InterruptedException e){
            e.printStackTrace();
        }

        //3秒之后,主线程修改isRunning的值,从而通知 t 结束-->所以会打印3s的thread

        System.out.println("控制t线程结束!");
        isRunning=false;
    }
}
